/*
*********************************************************************************************************
*                                            uC/USB-Device
*                                    The Embedded USB Device Stack
*
*                    Copyright 2004-2021 Silicon Laboratories Inc. www.silabs.com
*
*                                 SPDX-License-Identifier: APACHE-2.0
*
*               This software is subject to an open source license and is distributed by
*                Silicon Laboratories Inc. pursuant to the terms of the Apache License,
*                    Version 2.0 available at www.apache.org/licenses/LICENSE-2.0.
*
*********************************************************************************************************
*/

/*
*********************************************************************************************************
*
*                                USB MSC CLASS OPERATING SYSTEM LAYER
*
* Filename : usbd_msc_os.h
* Version  : V4.06.01
*********************************************************************************************************
*/

/*
*********************************************************************************************************
*                                               MODULE
*********************************************************************************************************
*/

#ifndef  USBD_MSC_OS_MODULE_PRESENT
#define  USBD_MSC_OS_MODULE_PRESENT


/*
*********************************************************************************************************
*                                            INCLUDE FILES
*********************************************************************************************************
*/

#include  "../../Source/usbd_core.h"

/*
*********************************************************************************************************
*                                               EXTERNS
*********************************************************************************************************
*/


/*
*********************************************************************************************************
*                                               DEFINES
*********************************************************************************************************
*/


/*
*********************************************************************************************************
*                                             DATA TYPES
*********************************************************************************************************
*/


/*
*********************************************************************************************************
*                                          GLOBAL VARIABLES
*********************************************************************************************************
*/


/*
*********************************************************************************************************
*                                               MACRO'S
*********************************************************************************************************
*/


/*
*********************************************************************************************************
*                                         FUNCTION PROTOTYPES
*********************************************************************************************************
*/

void  USBD_MSC_OS_Init          (USBD_ERR     *p_err);

void  USBD_MSC_OS_CommSignalPost(CPU_INT08U    class_nbr,
                                 USBD_ERR     *p_err);

void  USBD_MSC_OS_CommSignalPend(CPU_INT08U    class_nbr,
                                 CPU_INT32U    timeout,
                                 USBD_ERR     *p_err);

void  USBD_MSC_OS_CommSignalDel (CPU_INT08U    class_nbr,
                                 USBD_ERR     *p_err);

void  USBD_MSC_OS_EnumSignalPost(USBD_ERR     *p_err);

void  USBD_MSC_OS_EnumSignalPend(CPU_INT32U    timeout,
                                 USBD_ERR     *p_err);


/*
*********************************************************************************************************
*                                        CONFIGURATION ERRORS
*********************************************************************************************************
*/


/*
*********************************************************************************************************
*                                             MODULE END
*********************************************************************************************************
*/

#endif
